home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 22 / CU Amiga Magazine's Super CD-ROM 22 (1998)(EMAP Images)(GB)[!][issue 1998-05].iso / PowerPC / Programming / PPCSmallEiffel / bin_c / compile_to_c38.c < prev    next >
C/C++ Source or Header  |  1998-01-16  |  59KB  |  1,852 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "compile_to_c.h"
  9. void r893c_mapping_procedure_non_small_eiffel(T0* a1,T0* a2){
  10. int _bfuc=0;
  11. T0* _bf=NULL;
  12. _bf=(((T906*)((T906*)a1)))->_base_feature/*44*/;
  13. _bfuc=r883use_current(((T883*)_bf));
  14. /*IF*/if ((!(_bfuc))&&(r324target_cannot_be_dropped(((T324*)(oBC364cpp))))) {
  15. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms148_470));
  16. /*]*/
  17. }
  18. /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r883external_c_name(((T883*)_bf)));
  19. /*]*/
  20. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  21. char b1='\50';
  22. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  23. }/*]*/
  24. /*]*/
  25. /*IF*/if (_bfuc) {
  26. r324put_target_as_value(((T324*)(oBC364cpp)));
  27. }
  28. /*FI*//*IF*/if ((r906arg_count(((T906*)a1)))>(0)) {
  29. /*IF*/if (_bfuc) {
  30. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  31. char b1='\54';
  32. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  33. }/*]*/
  34. /*]*/
  35. }
  36. /*FI*/r324put_arguments(((T324*)(oBC364cpp)));
  37. }
  38. /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms148_470));
  39. /*]*/
  40. }
  41. void r893c_mapping_function_non_small_eiffel(T0* a1,T0* a2){
  42. int _tcbd=0;
  43. int _bfuc=0;
  44. T0* _bf=NULL;
  45. _bf=(((T892*)((T892*)a1)))->_base_feature/*48*/;
  46. _bfuc=r679use_current(((T679*)_bf));
  47. /*IF*/if (!(_bfuc)) {
  48. _tcbd=r324target_cannot_be_dropped(((T324*)(oBC364cpp)));
  49. /*IF*/if (_tcbd) {
  50. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  51. char b1='\54';
  52. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  53. }/*]*/
  54. /*]*/
  55. }
  56. /*FI*/}
  57. /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r679external_c_name(((T679*)_bf)));
  58. /*]*/
  59. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  60. char b1='\50';
  61. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  62. }/*]*/
  63. /*]*/
  64. /*IF*/if (_bfuc) {
  65. r324put_target_as_value(((T324*)(oBC364cpp)));
  66. }
  67. /*FI*//*IF*/if ((r892arg_count(((T892*)a1)))>(0)) {
  68. /*IF*/if (_bfuc) {
  69. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  70. char b1='\54';
  71. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  72. }/*]*/
  73. /*]*/
  74. }
  75. /*FI*/r324put_arguments(((T324*)(oBC364cpp)));
  76. }
  77. /*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  78. char b1='\51';
  79. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  80. }/*]*/
  81. /*]*/
  82. /*IF*/if ((!(_bfuc))&&(_tcbd)) {
  83. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  84. char b1='\51';
  85. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  86. }/*]*/
  87. /*]*/
  88. }
  89. /*FI*/}
  90. /*No:NATIVE_WITH_CURRENT.c_define_function*/
  91. /*No:NATIVE_WITH_CURRENT.fz_14*/
  92. /*No:NATIVE_WITH_CURRENT.c_define_procedure*/
  93. /*No:NATIVE_WITH_CURRENT.stupid_switch*/
  94. /*No:NATIVE_WITH_CURRENT.c_mapping_procedure*/
  95. /*No:NATIVE_WITH_CURRENT.c_mapping_function*/
  96. /*No:NATIVE_WITH_CURRENT.use_current*/
  97. void r881make(T881* C,T0* a1,T0* a2){
  98. T0* _fga=NULL;
  99. int _i=0;
  100. int _rank=0;
  101. C->_start_position=a1;
  102. C->_list=a2;
  103. _i=(((T681*)((T681*)a2)))->_upper/*8*/;
  104. while (!((_i)==(0))) {
  105. _fga=r681item(((T681*)a2),_i);
  106. _rank=r881index_of(C,(((T59*)((T59*)_fga)))->_name/*0*/);
  107. /*IF*/if ((_rank)!=(_i)) {
  108. r683add_position(/*(IRF4.6start_position*/(((T451*)((T451*)((((T59*)((T59*)(r681item(((T681*)a2),_rank)))))->_name/*0*/))))->_start_position/*4*//*)*/);
  109. r683add_position(/*(IRF4.6start_position*/(((T451*)((T451*)((((T59*)((T59*)_fga)))->_name/*0*/))))->_start_position/*4*//*)*/);
  110. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_881);
  111. r683fatal_error(((T683*)(oBC364eh)),b1);
  112. }/*]*/
  113. }
  114. /*FI*/_i=(_i)-(1);
  115. }
  116. }
  117. /*No:FORMAL_GENERIC_LIST.start_position*/
  118. /*No:FORMAL_GENERIC_LIST.item*/
  119. /*No:FORMAL_GENERIC_LIST.list*/
  120. /*No:FORMAL_GENERIC_LIST.count*/
  121. /*No:FORMAL_GENERIC_LIST.fatal_error*/
  122. int r881index_of(T881* C,T0* a1){
  123. int R=0;
  124. T0* _to_string=NULL;
  125. _to_string=(((T451*)((T451*)a1)))->_to_string/*0*/;
  126. R=(((T681*)((T681*)((((T881*)C))->_list/*4*/))))->_upper/*8*/;
  127. while (!(((R)==(0))||((_to_string)==((void*)((((T451*)((T451*)((((T59*)((T59*)(r681item(((T681*)((((T881*)C))->_list/*4*/)),R)))))->_name/*0*/))))->_to_string/*0*/))))) {
  128. R=(R)-(1);
  129. }
  130. return R;
  131. }
  132. /*No:CST_ATT_BOOLEAN.arguments*/
  133. T0* r580try_to_undefine(T580* C,T0* a1,T0* a2){
  134. T0* R=NULL;
  135. X776undefine_in(a1,a2);
  136. R=r580try_to_undefine_aux(C,a1,a2);
  137. /*IF*/if ((R)!=((void*)(NULL))) {
  138. /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T580*)C))->_clients/*20*/);
  139. /*]*/
  140. }
  141. else {
  142. r605fatal_undefine(((T605*)a2),a1);
  143. }
  144. /*FI*/return R;
  145. }
  146. /*No:CST_ATT_BOOLEAN.is_deferred*/
  147. void r580add_into(T580* C,T0* a1){
  148. T0* _fn=NULL;
  149. int _i=0;
  150. C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
  151. _i=1;
  152. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  153. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
  154. /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
  155. _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  156. r683add_position(X776start_position(_fn));
  157. r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
  158. r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
  159. /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
  160. r7append(((T7*)(oBC683explanation)),b1);
  161. }/*]*/
  162. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  163. }
  164. else {
  165. r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
  166. }
  167. /*FI*/_i=(_i)+(1);
  168. }
  169. }
  170. T0* r580try_to_undefine_aux(T580* C,T0* a1,T0* a2){
  171. T0* R=NULL;
  172. r683add_position(r580start_position(C));
  173. r580error(X776start_position(a1),((T0*)ms1_308));
  174. r605fatal_undefine(((T605*)a2),a1);
  175. return R;
  176. }
  177. void r580make(T580* C,T0* a1,T0* a2,T0* a3){
  178. r580make_e_feature(C,a1,a2);
  179. C->_value_mem=a3;
  180. }
  181. /*No:CST_ATT_BOOLEAN.nb_errors*/
  182. /*No:CST_ATT_BOOLEAN.set_header_comment*/
  183. T0* r580start_position(T580* C){
  184. T0* R=NULL;
  185. R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  186. return R;
  187. }
  188. T0* r580to_run_feature(T580* C,T0* a1,T0* a2){
  189. T0* R=NULL;
  190. T0* _rc=NULL;
  191. _rc=X291run_class(a1);
  192. R=r355at(((T355*)_rc),a2);
  193. if(NULL!=(R))switch(((T0*)R)->id) {
  194. case 808: 
  195. break;
  196. default:
  197. R=NULL;
  198. };/*IF*/if ((R)==((void*)(NULL))) {
  199. {T808*n=malloc(sizeof(*n));
  200. *n=M808;
  201. r808make(n,a1,a2,(T0*)C);
  202. R=(T0*)n;
  203. }
  204. }
  205. /*FI*/return R;
  206. }
  207. /*No:CST_ATT_BOOLEAN.ensure_assertion*/
  208. /*No:CST_ATT_BOOLEAN.code_require*/
  209. /*No:CST_ATT_BOOLEAN.result_type*/
  210. /*No:CST_ATT_BOOLEAN.em1*/
  211. /*No:CST_ATT_BOOLEAN.set_clients*/
  212. /*No:CST_ATT_BOOLEAN.em2*/
  213. /*No:CST_ATT_BOOLEAN.value*/
  214. /*No:CST_ATT_BOOLEAN.require_assertion*/
  215. /*No:CST_ATT_BOOLEAN.names*/
  216. /*No:CST_ATT_BOOLEAN.value_mem*/
  217. /*No:CST_ATT_BOOLEAN.stupid_switch*/
  218. int r580can_hide(T580* C,T0* a1,T0* a2){
  219. int R=0;
  220. /*IF*/if (((((T580*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  221. /*IF*/if ((((((T580*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  222. r683add_position(X359start_position(a1));
  223. r580error(r580start_position(C),((T0*)ms5_359));
  224. }
  225. /*FI*/}
  226. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  227. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  228. r580error(r580start_position(C),((T0*)ms6_359));
  229. }
  230. /*FI*/}
  231. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  232. /*IF*/if (((((T580*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  233. /*IF*/if (!(X291is_a_in((((T580*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  234. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  235. r7append(((T7*)(oBC683explanation)),b1);
  236. }/*]*/
  237. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/);
  238. r7append(((T7*)(oBC683explanation)),b1);
  239. }/*]*/
  240. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  241. }
  242. /*FI*/}
  243. /*FI*/}
  244. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  245. /*IF*//*AF*//*AE*/
  246. /*FI*/}
  247. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  248. return R;
  249. }
  250. /*No:CST_ATT_BOOLEAN.header_comment*/
  251. int r580is_merge_with(T580* C,T0* a1,T0* a2){
  252. int R=0;
  253. /*IF*/if (((((T580*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  254. /*IF*/if ((((((T580*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  255. r683add_position(X359start_position(a1));
  256. r580error(r580start_position(C),((T0*)ms2_359));
  257. }
  258. /*FI*/}
  259. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  260. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  261. r580error(r580start_position(C),((T0*)ms3_359));
  262. }
  263. /*FI*/}
  264. /*FI*//*IF*/if (((((T580*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  265. /*IF*/if (!(X291is_a_in((((T580*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  266. r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
  267. }
  268. /*FI*/}
  269. /*FI*//*IF*//*AF*//*AE*/
  270. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  271. return R;
  272. }
  273. /*No:CST_ATT_BOOLEAN.fz_dot*/
  274. /*No:CST_ATT_BOOLEAN.first_name*/
  275. /*No:CST_ATT_BOOLEAN.clients*/
  276. void r580collect_for(int a1){
  277. /*IF*/if ((a1)==(1001)) {
  278. /*IF*//*AF*//*AE*/
  279. /*FI*/}
  280. else {
  281. /*IF*//*AF*//*AE*/
  282. /*FI*/}
  283. /*FI*/}
  284. void r580error(T0* a1,T0* a2){
  285. r683add_position(a1);
  286. r683error(((T683*)(oBC364eh)),a2);
  287. }
  288. /*No:CST_ATT_BOOLEAN.base_class*/
  289. /*No:CST_ATT_BOOLEAN.base_class_name*/
  290. void r580make_e_feature(T580* C,T0* a1,T0* a2){
  291. C->_names=a1;
  292. C->_result_type=a2;
  293. }
  294. /*No:TYPE_INTEGER.id*/
  295. int r788has_creation(T788* C,T0* a1){
  296. int R=0;
  297. r683add_position(X776start_position(a1));
  298. r788error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T788*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_84));
  299. return R;
  300. }
  301. /*No:TYPE_INTEGER.is_anchored*/
  302. /*No:TYPE_INTEGER.us_integer*/
  303. /*No:TYPE_INTEGER.is_array*/
  304. /*No:TYPE_INTEGER.fz_typedef*/
  305. int r788is_a(T788* C,T0* a1){
  306. int R=0;
  307. /*IF*/if (((X291is_integer(a1))||(X291is_double(a1)))||(X291is_real(a1))) {
  308. R=1;
  309. }
  310. else {
  311. R=r605is_subclass_of(((T605*)(r788base_class(C))),X291base_class(a1));
  312. /*IF*/if (R) {
  313. r788used_as_reference();
  314. }
  315. /*FI*/}
  316. /*FI*//*IF*/if (!(R)) {
  317. r683add_type((T0*)C,((T0*)ms71_470));
  318. r683add_type(a1,((T0*)ms67_470));
  319. }
  320. /*FI*/return R;
  321. }
  322. /*No:TYPE_INTEGER.c_initialize_in*/
  323. /*No:TYPE_INTEGER.c_type_for_argument_in*/
  324. void r788gc_call_new_in(T0* a1){
  325. r7append(((T7*)a1),((T0*)ms115_470));
  326. r2append_in(2,a1);
  327. r7extend(((T7*)a1),'\50');
  328. r7extend(((T7*)a1),'\51');
  329. }
  330. /*No:TYPE_INTEGER.run_type*/
  331. /*No:TYPE_INTEGER.is_pointer*/
  332. /*No:TYPE_INTEGER.is_dummy_expanded*/
  333. /*No:TYPE_INTEGER.is_string*/
  334. /*No:TYPE_INTEGER.space_for_variable*/
  335. /*No:TYPE_INTEGER.is_like_feature*/
  336. /*No:TYPE_INTEGER.is_like_current*/
  337. void r788make(T788* C,T0* a1){
  338. {T451*n=malloc(sizeof(*n));
  339. *n=M451;
  340. r451make(n,((T0*)ms15_473),a1);
  341. C->_base_class_name=(T0*)n;
  342. }
  343. }
  344. /*No:TYPE_INTEGER.nb_errors*/
  345. /*No:TYPE_INTEGER.us_item*/
  346. void r788load_ref(T0* a1){
  347. T0* _rf=NULL;
  348. T0* _rc=NULL;
  349. T0* _cn=NULL;
  350. {T451*n=malloc(sizeof(*n));
  351. *n=M451;
  352. r451make(n,a1,NULL);
  353. _cn=(T0*)n;
  354. }
  355. _rc=r605run_class(((T605*)(r451base_class(((T451*)_cn)))));
  356. r355set_at_run_time(((T355*)_rc));
  357. _rf=r355get_feature_with(((T355*)_rc),((T0*)ms86_473));
  358. }
  359. int fBC364type_integer_ref=0;
  360. T0*oBC364type_integer_ref=NULL;
  361. T0* r788type_integer_ref(void){
  362. if (fBC364type_integer_ref==0){
  363. T0* R=NULL;
  364. T0* _integer_ref=NULL;
  365. fBC364type_integer_ref=1;
  366. {T451*n=malloc(sizeof(*n));
  367. *n=M451;
  368. r451make(n,((T0*)ms16_473),NULL);
  369. _integer_ref=(T0*)n;
  370. }
  371. {T657*n=malloc(sizeof(*n));
  372. *n=M657;
  373. /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_integer_ref);
  374. /*]*/
  375. R=(T0*)n;
  376. }
  377. oBC364type_integer_ref=R;}
  378. return oBC364type_integer_ref;}
  379. int fBC788check_type=0;
  380. void r788check_type(T788* C){
  381. if (fBC788check_type==0){
  382. T0* _rc=NULL;
  383. T0* _bc=NULL;
  384. fBC788check_type=1;
  385. _bc=r788base_class(C);
  386. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  387. _rc=r788run_class(C);
  388. }
  389. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  390. /*IF*/if (!((((T605*)((T605*)_bc)))->_is_expanded/*20*/)) {
  391. r788error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T788*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_788));
  392. }
  393. /*FI*/}
  394. /*FI*/}}
  395. /*No:TYPE_INTEGER.mapping_cast*/
  396. /*No:TYPE_INTEGER.start_position*/
  397. /*No:TYPE_INTEGER.c_type_for_target_in*/
  398. /*No:TYPE_INTEGER.fz_gc_mark*/
  399. /*No:TYPE_INTEGER.fz_inako*/
  400. /*No:TYPE_INTEGER.gc_initialize*/
  401. /*No:TYPE_INTEGER.fz_00*/
  402. /*No:TYPE_INTEGER.is_character*/
  403. /*No:TYPE_INTEGER.is_user_expanded*/
  404. T0* r788written_mark(void){
  405. T0* R=NULL;
  406. R=((T0*)ms15_473);
  407. return R;
  408. }
  409. /*No:TYPE_INTEGER.is_run_type*/
  410. T0* r788to_runnable(T788* C,T0* a1){
  411. T0* R=NULL;
  412. R=(T0*)C;
  413. r788check_type(C);
  414. return R;
  415. }
  416. void r788c_type_for_external_in(T0* a1){
  417. /*IF*//*AF*//*AE*/
  418. /*[IRF3.6c_type_for_result_in*/{T0* b1=a1;
  419. /*[IRF3.6c_type_for_argument_in*/{T0* c1=b1;
  420. r7append(((T7*)c1),((T0*)ms111_470));
  421. }/*]*/
  422. }/*]*/
  423. /*FI*/}
  424. T0* r788generic_list(T788* C){
  425. T0* R=NULL;
  426. r788fatal_error_generic_list(C);
  427. return R;
  428. }
  429. /*No:TYPE_INTEGER.is_formal_generic*/
  430. void r788demangling_in(T0* a1){
  431. /*IF*//*AF*//*AE*/
  432. r7extend(((T7*)a1),'E');
  433. /*FI*/r7extend(((T7*)a1),'\40');
  434. r7append(((T7*)a1),r788run_time_mark());
  435. }
  436. /*No:TYPE_INTEGER.is_real*/
  437. /*No:TYPE_INTEGER.us_integer_ref*/
  438. /*No:TYPE_INTEGER.is_bit*/
  439. void r788fatal_error_generic_list(T788* C){
  440. r683add_type((T0*)C,((T0*)ms12_291));
  441. r683print_as_fatal_error(((T683*)(oBC364eh)));
  442. }
  443. /*No:TYPE_INTEGER.fz_new*/
  444. T0* r788smallest_ancestor(T788* C,T0* a1){
  445. T0* R=NULL;
  446. T0* _rto=NULL;
  447. _rto=X291run_type(a1);
  448. /*IF*/if (X291is_integer(_rto)) {
  449. R=(T0*)C;
  450. }
  451.  else if (X291is_real(_rto)) {
  452. R=a1;
  453. }
  454.  else if (X291is_double(_rto)) {
  455. R=a1;
  456. }
  457. else {
  458. R=r657smallest_ancestor(((T657*)(r788type_integer_ref())),_rto);
  459. }
  460. /*FI*/return R;
  461. }
  462. /*No:TYPE_INTEGER.is_boolean*/
  463. /*No:TYPE_INTEGER.is_double*/
  464. T0* r788run_class(T788* C){
  465. T0* R=NULL;
  466. R=r604run_class((T0*)C);
  467. return R;
  468. }
  469. T0* r788run_time_mark(void){
  470. T0* R=NULL;
  471. R=((T0*)ms15_473);
  472. return R;
  473. }
  474. /*No:TYPE_INTEGER.c_initialize*/
  475. /*No:TYPE_INTEGER.cast_to_ref*/
  476. void r788gc_mark_in(T0* a1){
  477. r7append(((T7*)a1),((T0*)ms107_470));
  478. r2append_in(2,a1);
  479. }
  480. int r788is_a_in(T788* C,T0* a1,T0* a2){
  481. int R=0;
  482. T0* _ct=NULL;
  483. T0* _t2=NULL;
  484. T0* _t1=NULL;
  485. /*IF*/if ((r788written_mark())==((void*)(X291written_mark(a1)))) {
  486. R=1;
  487. }
  488. else {
  489. _ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
  490. _t1=r788to_runnable(C,_ct);
  491. _t2=X291to_runnable(a1,_ct);
  492. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  493. R=1;
  494. }
  495. else {
  496. R=X291is_a(_t1,_t2);
  497. }
  498. /*FI*/}
  499. /*FI*/return R;
  500. }
  501. T0* r788look_up_for(T788* C,T0* a1,T0* a2){
  502. T0* R=NULL;
  503. R=r605look_up_for(((T605*)(r788base_class(C))),a1,a2);
  504. return R;
  505. }
  506. /*No:TYPE_INTEGER.c_header_pass1*/
  507. /*No:TYPE_INTEGER.c_type_for_result_in*/
  508. /*No:TYPE_INTEGER.expanded_initializer*/
  509. /*No:TYPE_INTEGER.fz_int*/
  510. /*No:TYPE_INTEGER.fz_void*/
  511. /*No:TYPE_INTEGER.fz_dot*/
  512. /*No:TYPE_INTEGER.is_generic*/
  513. int fBC788used_as_reference=0;
  514. void r788used_as_reference(void){
  515. if (fBC788used_as_reference==0){
  516. fBC788used_as_reference=1;
  517. r788load_ref(((T0*)ms16_473));
  518. }}
  519. int r788space_for_integer(void){
  520. int R=0;
  521. R=sizeof(T2);
  522. return R;
  523. }
  524. /*No:TYPE_INTEGER.c_header_pass2*/
  525. /*No:TYPE_INTEGER.gc_define1*/
  526. /*No:TYPE_INTEGER.need_c_struct*/
  527. /*No:TYPE_INTEGER.is_reference*/
  528. /*No:TYPE_INTEGER.gc_info_in*/
  529. void r788error(T0* a1,T0* a2){
  530. r683add_position(a1);
  531. r683error(((T683*)(oBC364eh)),a2);
  532. }
  533. T0* r788base_class(T788* C){
  534. T0* R=NULL;
  535. T0* _bcn=NULL;
  536. _bcn=(((T788*)C))->_base_class_name/*4*/;
  537. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  538. R=r451base_class(((T451*)_bcn));
  539. }
  540. else {
  541. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  542. r7append(((T7*)(oBC683explanation)),b1);
  543. }/*]*/
  544. r683add_type((T0*)C,((T0*)ms67_470));
  545. r683print_as_fatal_error(((T683*)(oBC364eh)));
  546. }
  547. /*FI*/return R;
  548. }
  549. /*No:TYPE_INTEGER.call_gc_sweep_in*/
  550. /*No:TYPE_INTEGER.gc_define2*/
  551. /*No:TYPE_INTEGER.need_gc_mark_function*/
  552. /*No:TYPE_INTEGER.is_any*/
  553. /*No:TYPE_INTEGER.to_reference*/
  554. /*No:TYPE_INTEGER.c_header_pass3*/
  555. /*No:TYPE_INTEGER.base_class_name*/
  556. /*No:TYPE_INTEGER.is_expanded*/
  557. /*No:TYPE_INTEGER.is_basic_eiffel_expanded*/
  558. /*No:TYPE_INTEGER.is_none*/
  559. /*No:TYPE_INTEGER.to_expanded*/
  560. /*No:TYPE_INTEGER.is_integer*/
  561. /*No:TYPE_INTEGER.c_header_pass4*/
  562. /*No:PROC_CALL_1.arguments*/
  563. T0* r317add_comment(T317* C,T0* a1){
  564. T0* R=NULL;
  565. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  566. R=(T0*)C;
  567. }
  568. /*AF*/else {
  569. {T46*n=malloc(sizeof(*n));
  570. *n=M46;
  571. r46make(n,(T0*)C,a1);
  572. R=(T0*)n;
  573. }
  574. }
  575. /*FI*/return R;
  576. }
  577. void r317make(T317* C,T0* a1,T0* a2,T0* a3){
  578. C->_target=a1;
  579. C->_feature_name=a2;
  580. C->_arguments=a3;
  581. }
  582. /*No:PROC_CALL_1.nb_errors*/
  583. /*No:PROC_CALL_1.feature_name*/
  584. /*No:PROC_CALL_1.arg_count*/
  585. /*No:PROC_CALL_1.run_feature*/
  586. /*No:PROC_CALL_1.set_run_compound*/
  587. /*No:PROC_CALL_1.call_proc_call_c2c*/
  588. T0* r317start_position(T317* C){
  589. T0* R=NULL;
  590. R=X776start_position((((T317*)C))->_feature_name/*12*/);
  591. return R;
  592. }
  593. /*No:PROC_CALL_1.target*/
  594. void r317compile_to_c(T317* C){
  595. r324rs_push_position(((T324*)(oBC364cpp)),'3',r317start_position(C));
  596. /*[IRF3.6call_proc_call_c2c*/{T317* C1=C;
  597. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  598. }/*]*/
  599. r324rs_pop_position(((T324*)(oBC364cpp)));
  600. }
  601. /*No:PROC_CALL_1.set_run_feature*/
  602. T0* r317to_runnable(T317* C,T0* a1){
  603. T0* R=NULL;
  604. T0* _a=NULL;
  605. /*IF*/if (((((T317*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  606. r317to_runnable_0(C,a1);
  607. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  608. _a=X431to_runnable((((T317*)C))->_arguments/*20*/,r317current_type(C));
  609. /*IF*/if ((_a)==((void*)(NULL))) {
  610. r317error(X662start_position(r317arg1(C)),((T0*)ms55_470));
  611. }
  612. else {
  613. C->_arguments=_a;
  614. }
  615. /*FI*/}
  616. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  617. X431match_with((((T317*)C))->_arguments/*20*/,(((T317*)C))->_run_feature/*16*/);
  618. }
  619. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  620. R=(T0*)C;
  621. }
  622. /*FI*/}
  623. else {
  624. {T317*n=malloc(sizeof(*n));
  625. *n=M317;
  626. r317make(n,(((T317*)C))->_target/*8*/,(((T317*)C))->_feature_name/*12*/,(((T317*)C))->_arguments/*20*/);
  627. R=(T0*)n;
  628. }
  629. R=r317to_runnable(((T317*)R),a1);
  630. }
  631. /*FI*/return R;
  632. }
  633. /*No:PROC_CALL_1.us_c_inline_c*/
  634. int r317standard_use_current(T317* C){
  635. int R=0;
  636. /*IF*/{/*AT*/R=X431use_current((((T317*)C))->_arguments/*20*/);
  637. }
  638. /*FI*//*IF*/if (R) {
  639. }
  640.  else if (X662is_current((((T317*)C))->_target/*8*/)) {
  641. R=X496use_current((((T317*)C))->_run_feature/*16*/);
  642. }
  643. else {
  644. R=X662use_current((((T317*)C))->_target/*8*/);
  645. }
  646. /*FI*/return R;
  647. }
  648. /*No:PROC_CALL_1.fz_07*/
  649. T0* r317current_type(T317* C){
  650. T0* R=NULL;
  651. /*IF*/if (((((T317*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
  652. R=(((T592*)((T592*)((((T317*)C))->_run_compound/*4*/))))->_current_type/*4*/;
  653. }
  654. /*FI*/return R;
  655. }
  656. /*No:PROC_CALL_1.run_compound*/
  657. void r317to_runnable_0(T317* C,T0* a1){
  658. C->_run_compound=a1;
  659. r317cpc_to_runnable(C,r317current_type(C));
  660. /*IF*/if ((/*X496*/((T0*)(((T832*)((T832*)((((T317*)C))->_run_feature/*16*/))))->_result_type/*24*/))!=((void*)(NULL))) {
  661. r683add_position(X496start_position((((T317*)C))->_run_feature/*16*/));
  662. r317error(X776start_position((((T317*)C))->_feature_name/*12*/),((T0*)ms1_173));
  663. }
  664. /*FI*/}
  665. /*No:PROC_CALL_1.is_pre_computable*/
  666. void r317cpc_to_runnable(T317* C,T0* a1){
  667. T0* _rc=NULL;
  668. T0* _t=NULL;
  669. _t=X662to_runnable((((T317*)C))->_target/*8*/,a1);
  670. /*IF*/if ((_t)==((void*)(NULL))) {
  671. r683add_position(X662start_position((((T317*)C))->_target/*8*/));
  672. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  673. r683fatal_error(((T683*)(oBC364eh)),b1);
  674. }/*]*/
  675. }
  676. /*FI*/C->_target=_t;
  677. _rc=X291run_class(X662result_type((((T317*)C))->_target/*8*/));
  678. C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
  679. r576update((((T317*)C))->_target/*8*/,(((T317*)C))->_run_feature/*16*/);
  680. }
  681. int r317use_current(T317* C){
  682. int R=0;
  683. T0* _s=NULL;
  684. T0* _ms=NULL;
  685. /*IF*/if ((((T0*)ms65_473))==((void*)(X776to_string((((T317*)C))->_feature_name/*12*/)))) {
  686. _ms=r317arg1(C);
  687. if(NULL!=(_ms))switch(((T0*)_ms)->id) {
  688. case 805: 
  689. break;
  690. default:
  691. _ms=NULL;
  692. };_s=(((T805*)((T805*)_ms)))->_to_string/*16*/;
  693. R=r7has(((T7*)_s),'C');
  694. }
  695. else {
  696. R=r317standard_use_current(C);
  697. }
  698. /*FI*/return R;
  699. }
  700. void r317finalize(T317* C){
  701. T0* _rf=NULL;
  702. T0* _rc=NULL;
  703. _rf=(((T317*)C))->_run_feature/*16*/;
  704. _rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/));
  705. /*IF*/if (!((((T355*)((T355*)_rc)))->_at_run_time/*8*/)) {
  706. _rf=r355dynamic(((T355*)(r396first(((T396*)((((T355*)((T355*)_rc)))->_running/*12*/))))),_rf);
  707. C->_run_feature=_rf;
  708. }
  709. /*FI*/}
  710. void r317error(T0* a1,T0* a2){
  711. r683add_position(a1);
  712. r683error(((T683*)(oBC364eh)),a2);
  713. }
  714. /*No:PROC_CALL_1.fatal_error*/
  715. /*No:PROC_CALL_1.fz_bad_argument*/
  716. T0* r317arg1(T317* C){
  717. T0* R=NULL;
  718. R=X431first((((T317*)C))->_arguments/*20*/);
  719. return R;
  720. }
  721. /*No:PROC_CALL_1.end_mark_comment*/
  722. void r317afd_check(T317* C){
  723. T0* _running=NULL;
  724. T0* _rc=NULL;
  725. _rc=X291run_class(X662result_type((((T317*)C))->_target/*8*/));
  726. _running=(((T355*)((T355*)_rc)))->_running/*12*/;
  727. /*IF*/if ((_running)==((void*)(NULL))) {
  728. r683add_position(X662start_position((((T317*)C))->_target/*8*/));
  729. /*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
  730. r7append(((T7*)(oBC683explanation)),b1);
  731. }/*]*/
  732. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
  733. r7append(((T7*)(oBC683explanation)),b1);
  734. }/*]*/
  735. /*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
  736. r7append(((T7*)(oBC683explanation)),b1);
  737. }/*]*/
  738. r683print_as_warning(((T683*)(oBC364eh)));
  739. r355set_at_run_time(((T355*)_rc));
  740. }
  741.  else if ((r396count(((T396*)_running)))>(0)) {
  742. r576update((((T317*)C))->_target/*8*/,(((T317*)C))->_run_feature/*16*/);
  743. }
  744. /*FI*/X662afd_check((((T317*)C))->_target/*8*/);
  745. /*IF*/{/*AT*/X431afd_check((((T317*)C))->_arguments/*20*/);
  746. }
  747. /*FI*/}
  748. T0* r317make_runnable(T317* C,T0* a1,T0* a2,T0* a3,T0* a4){
  749. T0* R=NULL;
  750. /*IF*/if (((((T317*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  751. R=(T0*)C;
  752. r317make(((T317*)R),a2,(((T317*)C))->_feature_name/*12*/,a3);
  753. C->_run_compound=a1;
  754. C->_run_feature=a4;
  755. }
  756. else {
  757. {T317*n=malloc(sizeof(*n));
  758. *n=M317;
  759. r317make(n,a2,(((T317*)C))->_feature_name/*12*/,a3);
  760. R=(T0*)n;
  761. }
  762. /*[IRF3.3set_run_compound*/((((T317*)(((T317*)R))))->_run_compound)=(a1);
  763. /*]*/
  764. /*[IRF3.3set_run_feature*/((((T317*)(((T317*)R))))->_run_feature)=(a4);
  765. /*]*/
  766. }
  767. /*FI*/return R;
  768. }
  769. T0* r23add_comment(T23* C,T0* a1){
  770. T0* R=NULL;
  771. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  772. R=(T0*)C;
  773. }
  774. else {
  775. {T529*n=malloc(sizeof(*n));
  776. *n=M529;
  777. r529make(n,(T0*)C,a1);
  778. R=(T0*)n;
  779. }
  780. }
  781. /*FI*/return R;
  782. }
  783. int r23to_integer(T23* C){
  784. int R=0;
  785. r23error((((T23*)C))->_start_position/*16*/,((T0*)ms69_470));
  786. return R;
  787. }
  788. int r23is_a(T23* C,T0* a1){
  789. int R=0;
  790. R=X291is_a(X291run_type((((T23*)C))->_result_type/*24*/),X291run_type(X662result_type(a1)));
  791. /*IF*/if (!(R)) {
  792. r683add_position((((T23*)C))->_start_position/*16*/);
  793. r23error(X662start_position(a1),((T0*)ms4_662));
  794. }
  795. /*FI*/return R;
  796. }
  797. /*No:LOCAL_NAME2.is_current*/
  798. void r23mapping_c_arg(T23* C,T0* a1){
  799. T0* _rt=NULL;
  800. _rt=X291run_type((((T23*)C))->_result_type/*24*/);
  801. /*IF*/if (X291is_reference(_rt)) {
  802. /*IF*/if (X291is_reference(a1)) {
  803. /*[IRF3.6compile_to_c*/{T23* C1=C;
  804. r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/);
  805. }/*]*/
  806. }
  807. else {
  808. X291to_expanded(_rt);
  809. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  810. char b1='\50';
  811. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  812. }/*]*/
  813. /*]*/
  814. /*[IRF3.6compile_to_c*/{T23* C1=C;
  815. r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/);
  816. }/*]*/
  817. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  818. char b1='\51';
  819. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  820. }/*]*/
  821. /*]*/
  822. }
  823. /*FI*/}
  824.  else if (X291is_reference(a1)) {
  825. X291to_reference(_rt);
  826. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  827. char b1='\50';
  828. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  829. }/*]*/
  830. /*]*/
  831. /*[IRF3.6compile_to_c*/{T23* C1=C;
  832. r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/);
  833. }/*]*/
  834. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  835. char b1='\51';
  836. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  837. }/*]*/
  838. /*]*/
  839. }
  840. else {
  841. /*IF*/if (X291need_c_struct(_rt)) {
  842. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  843. char b1='\46';
  844. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  845. }/*]*/
  846. /*]*/
  847. }
  848. /*FI*//*[IRF3.6compile_to_c*/{T23* C1=C;
  849. r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/);
  850. }/*]*/
  851. }
  852. /*FI*/}
  853. /*No:LOCAL_NAME2.static_value*/
  854. void r23mapping_c_target(T23* C,T0* a1){
  855. T0* _rt=NULL;
  856. int _flag=0;
  857. _flag=r324call_invariant_start(a1);
  858. _rt=X291run_type((((T23*)C))->_result_type/*24*/);
  859. /*IF*/if (X291is_reference(_rt)) {
  860. /*IF*/if (X291is_reference(a1)) {
  861. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  862. char b1='\50';
  863. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  864. }/*]*/
  865. /*]*/
  866. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  867. char b1='\50';
  868. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  869. }/*]*/
  870. /*]*/
  871. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  872. char b1='T';
  873. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  874. }/*]*/
  875. /*]*/
  876. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1));
  877. /*]*/
  878. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  879. char b1='\52';
  880. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  881. }/*]*/
  882. /*]*/
  883. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  884. char b1='\51';
  885. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  886. }/*]*/
  887. /*]*/
  888. /*[IRF3.6compile_to_c*/{T23* C1=C;
  889. r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/);
  890. }/*]*/
  891. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  892. char b1='\51';
  893. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  894. }/*]*/
  895. /*]*/
  896. }
  897. else {
  898. X291to_expanded(_rt);
  899. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  900. char b1='\50';
  901. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  902. }/*]*/
  903. /*]*/
  904. /*[IRF3.6compile_to_c*/{T23* C1=C;
  905. r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/);
  906. }/*]*/
  907. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  908. char b1='\51';
  909. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  910. }/*]*/
  911. /*]*/
  912. }
  913. /*FI*/}
  914.  else if (X291is_reference(a1)) {
  915. X291to_reference(_rt);
  916. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  917. char b1='\50';
  918. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  919. }/*]*/
  920. /*]*/
  921. /*[IRF3.6compile_to_c*/{T23* C1=C;
  922. r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/);
  923. }/*]*/
  924. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  925. char b1='\51';
  926. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  927. }/*]*/
  928. /*]*/
  929. }
  930. else {
  931. /*IF*/if (X291need_c_struct(_rt)) {
  932. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  933. char b1='\46';
  934. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  935. }/*]*/
  936. /*]*/
  937. }
  938. /*FI*//*[IRF3.6compile_to_c*/{T23* C1=C;
  939. r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/);
  940. }/*]*/
  941. }
  942. /*FI*//*IF*/if (_flag) {
  943. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  944. char b1='\51';
  945. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  946. }/*]*/
  947. /*]*/
  948. }
  949. /*FI*/}
  950. /*No:LOCAL_NAME2.to_string*/
  951. /*No:LOCAL_NAME2.fz_iinaiv*/
  952. /*No:LOCAL_NAME2.dca_inline_argument*/
  953. /*No:LOCAL_NAME2.set_result_type*/
  954. /*No:LOCAL_NAME2.start_position*/
  955. /*No:LOCAL_NAME2.compile_to_c*/
  956. /*No:LOCAL_NAME2.c_simple*/
  957. T0* r23to_runnable(T23* C,T0* a1){
  958. T0* R=NULL;
  959. T0* _rt=NULL;
  960. T0* _declaration_name=NULL;
  961. T0* _lvl=NULL;
  962. T0* _rf=NULL;
  963. _rf=r604top_rf(((T604*)(oBC364small_eiffel)));
  964. _lvl=X496local_vars(_rf);
  965. _declaration_name=/*(IRF4.6name*/r733item(((T733*)((((T620*)((T620*)_lvl)))->_flat_list/*12*/)),(((T23*)C))->_rank/*20*/)/*)*/;
  966. /*[IRF3.3set_is_used*/((((T39*)(((T39*)_declaration_name))))->_is_used)=(1);
  967. /*]*/
  968. _rt=r620type(((T620*)_lvl),(((T23*)C))->_rank/*20*/);
  969. /*IF*/if (((((T23*)C))->_current_type/*8*/)==((void*)(NULL))) {
  970. C->_current_type=a1;
  971. C->_result_type=_rt;
  972. R=(T0*)C;
  973. }
  974. else {
  975. {T23*n=malloc(sizeof(*n));
  976. *n=M23;
  977. r23make_runnable(n,(T0*)C,a1,_rt);
  978. R=(T0*)n;
  979. }
  980. }
  981. /*FI*/return R;
  982. }
  983. /*No:LOCAL_NAME2.set_rank*/
  984. /*No:LOCAL_NAME2.rank*/
  985. /*No:LOCAL_NAME2.result_type*/
  986. /*No:LOCAL_NAME2.is_result*/
  987. /*No:LOCAL_NAME2.is_static*/
  988. /*No:LOCAL_NAME2.can_be_dropped*/
  989. /*No:LOCAL_NAME2.current_type*/
  990. /*No:LOCAL_NAME2.compile_to_c_old*/
  991. /*No:LOCAL_NAME2.static_value_mem*/
  992. /*No:LOCAL_NAME2.is_manifest_string*/
  993. void r23refer_to(T23* C,T0* a1,T0* a2,int a3){
  994. T0* _declaration_name=NULL;
  995. C->_start_position=a1;
  996. C->_rank=a3;
  997. _declaration_name=/*(IRF4.6name*/r733item(((T733*)((((T620*)((T620*)a2)))->_flat_list/*12*/)),a3)/*)*/;
  998. C->_to_string=(((T39*)((T39*)_declaration_name)))->_to_string/*12*/;
  999. C->_result_type=(((T39*)((T39*)_declaration_name)))->_result_type/*24*/;
  1000. }
  1001. /*No:LOCAL_NAME2.is_void*/
  1002. /*No:LOCAL_NAME2.is_pre_computable*/
  1003. /*No:LOCAL_NAME2.use_current*/
  1004. void r23error(T0* a1,T0* a2){
  1005. r683add_position(a1);
  1006. r683error(((T683*)(oBC364eh)),a2);
  1007. }
  1008. /*No:LOCAL_NAME2.isa_dca_inline_argument*/
  1009. /*No:LOCAL_NAME2.afd_check*/
  1010. void r23make_runnable(T23* C,T0* a1,T0* a2,T0* a3){
  1011. *((T23*)(C))=*((T23*)(a1));
  1012. C->_current_type=a2;
  1013. C->_result_type=a3;
  1014. }
  1015. /*No:CALL_0_C.arguments*/
  1016. T0* r487add_comment(T487* C,T0* a1){
  1017. T0* R=NULL;
  1018. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  1019. R=(T0*)C;
  1020. }
  1021. else {
  1022. {T529*n=malloc(sizeof(*n));
  1023. *n=M529;
  1024. r529make(n,(T0*)C,a1);
  1025. R=(T0*)n;
  1026. }
  1027. }
  1028. /*FI*/return R;
  1029. }
  1030. int r487to_integer(T487* C){
  1031. int R=0;
  1032. T0* _rf1=NULL;
  1033. _rf1=(((T487*)C))->_run_feature/*20*/;
  1034. if(NULL!=(_rf1))switch(((T0*)_rf1)->id) {
  1035. case 808: 
  1036. break;
  1037. default:
  1038. _rf1=NULL;
  1039. };/*IF*/if ((_rf1)==((void*)(NULL))) {
  1040. r487error(r487start_position(C),((T0*)ms69_470));
  1041. }
  1042. else {
  1043. R=X662to_integer((((T808*)((T808*)_rf1)))->_value/*48*/);
  1044. }
  1045. /*FI*/return R;
  1046. }
  1047. int r487is_a(T487* C,T0* a1){
  1048. int R=0;
  1049. R=X291is_a(X291run_type((((T487*)C))->_result_type/*24*/),X291run_type(X662result_type(a1)));
  1050. /*IF*/if (!(R)) {
  1051. r683add_position(r487start_position(C));
  1052. r487error(X662start_position(a1),((T0*)ms4_662));
  1053. }
  1054. /*FI*/return R;
  1055. }
  1056. /*No:CALL_0_C.is_current*/
  1057. void r487mapping_c_arg(T487* C,T0* a1){
  1058. T0* _actual_type=NULL;
  1059. _actual_type=X291run_type((((T487*)C))->_result_type/*24*/);
  1060. /*IF*/if (X291is_reference(_actual_type)) {
  1061. /*IF*/if (X291is_reference(a1)) {
  1062. r487compile_to_c(C);
  1063. }
  1064. else {
  1065. X291to_expanded(_actual_type);
  1066. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1067. char b1='\50';
  1068. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1069. }/*]*/
  1070. /*]*/
  1071. r487compile_to_c(C);
  1072. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1073. char b1='\51';
  1074. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1075. }/*]*/
  1076. /*]*/
  1077. }
  1078. /*FI*/}
  1079. else {
  1080. /*IF*/if (X291is_reference(a1)) {
  1081. X291to_reference(_actual_type);
  1082. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1083. char b1='\50';
  1084. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1085. }/*]*/
  1086. /*]*/
  1087. r487compile_to_c(C);
  1088. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1089. char b1='\51';
  1090. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1091. }/*]*/
  1092. /*]*/
  1093. }
  1094. else {
  1095. /*IF*/if (X291need_c_struct(a1)) {
  1096. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1097. char b1='\46';
  1098. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1099. }/*]*/
  1100. /*]*/
  1101. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1102. char b1='\50';
  1103. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1104. }/*]*/
  1105. /*]*/
  1106. r487compile_to_c(C);
  1107. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1108. char b1='\51';
  1109. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1110. }/*]*/
  1111. /*]*/
  1112. }
  1113. else {
  1114. r487compile_to_c(C);
  1115. }
  1116. /*FI*/}
  1117. /*FI*/}
  1118. /*FI*/}
  1119. /*No:CALL_0_C.static_value*/
  1120. void r487make(T487* C,T0* a1,T0* a2){
  1121. C->_target=a1;
  1122. C->_feature_name=a2;
  1123. }
  1124. void r487mapping_c_target(T487* C,T0* a1){
  1125. T0* _actual_type=NULL;
  1126. int _flag=0;
  1127. _flag=r324call_invariant_start(a1);
  1128. _actual_type=X291run_type((((T487*)C))->_result_type/*24*/);
  1129. /*IF*/if (X291is_reference(_actual_type)) {
  1130. /*IF*/if (X291is_reference(a1)) {
  1131. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1132. char b1='\50';
  1133. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1134. }/*]*/
  1135. /*]*/
  1136. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1137. char b1='\50';
  1138. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1139. }/*]*/
  1140. /*]*/
  1141. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1142. char b1='T';
  1143. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1144. }/*]*/
  1145. /*]*/
  1146. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1));
  1147. /*]*/
  1148. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1149. char b1='\52';
  1150. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1151. }/*]*/
  1152. /*]*/
  1153. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1154. char b1='\51';
  1155. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1156. }/*]*/
  1157. /*]*/
  1158. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1159. char b1='\50';
  1160. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1161. }/*]*/
  1162. /*]*/
  1163. r487compile_to_c(C);
  1164. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1165. char b1='\51';
  1166. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1167. }/*]*/
  1168. /*]*/
  1169. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1170. char b1='\51';
  1171. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1172. }/*]*/
  1173. /*]*/
  1174. }
  1175. else {
  1176. X291to_expanded(_actual_type);
  1177. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1178. char b1='\50';
  1179. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1180. }/*]*/
  1181. /*]*/
  1182. r487compile_to_c(C);
  1183. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1184. char b1='\51';
  1185. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1186. }/*]*/
  1187. /*]*/
  1188. }
  1189. /*FI*/}
  1190. else {
  1191. /*IF*/if (X291is_reference(a1)) {
  1192. X291to_reference(_actual_type);
  1193. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1194. char b1='\50';
  1195. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1196. }/*]*/
  1197. /*]*/
  1198. r487compile_to_c(C);
  1199. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1200. char b1='\51';
  1201. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1202. }/*]*/
  1203. /*]*/
  1204. }
  1205. else {
  1206. /*IF*/if (X291need_c_struct(a1)) {
  1207. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1208. char b1='\46';
  1209. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1210. }/*]*/
  1211. /*]*/
  1212. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1213. char b1='\50';
  1214. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1215. }/*]*/
  1216. /*]*/
  1217. r487compile_to_c(C);
  1218. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1219. char b1='\51';
  1220. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1221. }/*]*/
  1222. /*]*/
  1223. }
  1224. else {
  1225. r487compile_to_c(C);
  1226. }
  1227. /*FI*/}
  1228. /*FI*/}
  1229. /*FI*//*IF*/if (_flag) {
  1230. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  1231. char b1='\51';
  1232. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1233. }/*]*/
  1234. /*]*/
  1235. }
  1236. /*FI*/}
  1237. /*No:CALL_0_C.nb_errors*/
  1238. /*No:CALL_0_C.feature_name*/
  1239. /*No:CALL_0_C.fz_iinaiv*/
  1240. /*No:CALL_0_C.arg_count*/
  1241. /*No:CALL_0_C.dca_inline_argument*/
  1242. /*No:CALL_0_C.run_feature*/
  1243. /*No:CALL_0_C.call_proc_call_c2c*/
  1244. T0* r487start_position(T487* C){
  1245. T0* R=NULL;
  1246. R=X776start_position((((T487*)C))->_feature_name/*16*/);
  1247. return R;
  1248. }
  1249. /*No:CALL_0_C.target*/
  1250. /*No:CALL_0_C.us_is_expanded_type*/
  1251. void r487compile_to_c(T487* C){
  1252. T0* _n=NULL;
  1253. _n=X776to_string((((T487*)C))->_feature_name/*16*/);
  1254. /*IF*/if ((((T0*)ms83_473))==((void*)(_n))) {
  1255. /*IF*/if (X291is_expanded(X291run_type(X662result_type((((T487*)C))->_target/*12*/)))) {
  1256. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1257. char b1='1';
  1258. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1259. }/*]*/
  1260. /*]*/
  1261. }
  1262. else {
  1263. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1264. char b1='0';
  1265. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1266. }/*]*/
  1267. /*]*/
  1268. }
  1269. /*FI*/}
  1270.  else if ((((T0*)ms82_473))==((void*)(_n))) {
  1271. /*IF*/if (X291is_basic_eiffel_expanded(X662result_type((((T487*)C))->_target/*12*/))) {
  1272. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1273. char b1='1';
  1274. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1275. }/*]*/
  1276. /*]*/
  1277. }
  1278. else {
  1279. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1280. char b1='0';
  1281. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1282. }/*]*/
  1283. /*]*/
  1284. }
  1285. /*FI*/}
  1286. else {
  1287. /*[IRF3.6call_proc_call_c2c*/{T487* C1=C;
  1288. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1289. }/*]*/
  1290. }
  1291. /*FI*/}
  1292. /*No:CALL_0_C.c_simple*/
  1293. T0* r487to_runnable(T487* C,T0* a1){
  1294. T0* R=NULL;
  1295. /*IF*/if (((((T487*)C))->_current_type/*8*/)==((void*)(NULL))) {
  1296. r487to_runnable_0(C,a1);
  1297. /*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((X496arg_count((((T487*)C))->_run_feature/*20*/))>(0))) {
  1298. r683add_position(X776start_position((((T487*)C))->_feature_name/*16*/));
  1299. r487error(X496start_position((((T487*)C))->_run_feature/*20*/),((T0*)ms1_752));
  1300. }
  1301. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1302. R=(T0*)C;
  1303. }
  1304. /*FI*/}
  1305. else {
  1306. R=r487twin(C);
  1307. /*[IRF3.3set_current_type*/((((T487*)(((T487*)R))))->_current_type)=(NULL);
  1308. /*]*/
  1309. R=r487to_runnable(((T487*)R),a1);
  1310. }
  1311. /*FI*/return R;
  1312. }
  1313. /*No:CALL_0_C.result_type*/
  1314. /*No:CALL_0_C.is_result*/
  1315. T0* r487twin(T487* C){
  1316. T0* R=NULL;
  1317. R=malloc(sizeof(*C));
  1318. *((T487*)R)=*C;
  1319. return R;
  1320. }
  1321. /*No:CALL_0_C.set_current_type*/
  1322. int r487is_static(T487* C){
  1323. int R=0;
  1324. T0* _tb=NULL;
  1325. T0* _tt=NULL;
  1326. T0* _name=NULL;
  1327. /*IF*/if (((((T487*)C))->_run_feature/*20*/)!=((void*)(NULL))) {
  1328. _tt=X662result_type((((T487*)C))->_target/*12*/);
  1329. _name=X776to_string(/*X496*/((T0*)(((T832*)((T832*)((((T487*)C))->_run_feature/*20*/))))->_name/*16*/));
  1330. /*IF*/if ((((T0*)ms83_473))==((void*)(_name))) {
  1331. R=1;
  1332. /*IF*/if (X291is_expanded(_tt)) {
  1333. C->_static_value_mem=1;
  1334. }
  1335. /*FI*/}
  1336.  else if ((((T0*)ms82_473))==((void*)(_name))) {
  1337. R=1;
  1338. /*IF*/if (X291is_basic_eiffel_expanded(_tt)) {
  1339. C->_static_value_mem=1;
  1340. }
  1341. /*FI*/}
  1342.  else if (((((T0*)ms60_473))==((void*)(_name)))&&(X291is_bit(_tt))) {
  1343. R=1;
  1344. _tb=_tt;
  1345. if(NULL!=(_tb))switch(((T0*)_tb)->id) {
  1346. case 549: case 558: 
  1347. break;
  1348. default:
  1349. _tb=NULL;
  1350. };C->_static_value_mem=X609nb(_tb);
  1351. }
  1352.  else if (X662is_current((((T487*)C))->_target/*12*/)) {
  1353. /*IF*/if (X496is_static((((T487*)C))->_run_feature/*20*/)) {
  1354. R=1;
  1355. C->_static_value_mem=X496static_value_mem((((T487*)C))->_run_feature/*20*/);
  1356. }
  1357. else {
  1358. R=r487call_is_static(C);
  1359. }
  1360. /*FI*/}
  1361. else {
  1362. R=r487call_is_static(C);
  1363. }
  1364. /*FI*/}
  1365. /*FI*/return R;
  1366. }
  1367. int r487call_is_static(T487* C){
  1368. int R=0;
  1369. T0* _rf=NULL;
  1370. T0* _running=NULL;
  1371. T0* _rc=NULL;
  1372. /*IF*/if (((((T487*)C))->_run_feature/*20*/)!=((void*)(NULL))) {
  1373. _rc=X496run_class((((T487*)C))->_run_feature/*20*/);
  1374. /*IF*/if ((_rc)!=((void*)(NULL))) {
  1375. _running=(((T355*)((T355*)_rc)))->_running/*12*/;
  1376. /*IF*/if (((_running)!=((void*)(NULL)))&&((r396count(((T396*)_running)))==(1))) {
  1377. _rf=r355dynamic(((T355*)(r396first(((T396*)_running)))),(((T487*)C))->_run_feature/*20*/);
  1378. /*IF*/if (X496is_static(_rf)) {
  1379. C->_static_value_mem=X496static_value_mem(_rf);
  1380. R=1;
  1381. }
  1382. /*FI*/}
  1383. /*FI*/}
  1384. /*FI*/}
  1385. /*FI*/return R;
  1386. }
  1387. /*No:CALL_0_C.fz_07*/
  1388. /*No:CALL_0_C.us_is_basic_expanded_type*/
  1389. int r487can_be_dropped(T487* C){
  1390. int R=0;
  1391. /*IF*/if (X662can_be_dropped((((T487*)C))->_target/*12*/)) {
  1392. R=X496can_be_dropped((((T487*)C))->_run_feature/*20*/);
  1393. }
  1394. /*FI*/return R;
  1395. }
  1396. /*No:CALL_0_C.us_count*/
  1397. /*No:CALL_0_C.current_type*/
  1398. void r487compile_to_c_old(T487* C){
  1399. X662compile_to_c_old((((T487*)C))->_target/*12*/);
  1400. /*IF*//*AF*//*AE*/
  1401. /*FI*/}
  1402. /*No:CALL_0_C.static_value_mem*/
  1403. /*No:CALL_0_C.is_manifest_string*/
  1404. /*No:CALL_0_C.is_void*/
  1405. void r487to_runnable_0(T487* C,T0* a1){
  1406. C->_current_type=a1;
  1407. r487cpc_to_runnable(C,a1);
  1408. C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T487*)C))->_run_feature/*20*/))))->_result_type/*24*/);
  1409. /*IF*/if (((((T487*)C))->_result_type/*24*/)==((void*)(NULL))) {
  1410. r683add_position(X496start_position((((T487*)C))->_run_feature/*20*/));
  1411. r487error(X776start_position((((T487*)C))->_feature_name/*16*/),((T0*)ms1_295));
  1412. }
  1413.  else if (X291is_like_current((((T487*)C))->_result_type/*24*/)) {
  1414. C->_result_type=X662result_type((((T487*)C))->_target/*12*/);
  1415. }
  1416. /*FI*/}
  1417. int r487is_pre_computable(T487* C){
  1418. int R=0;
  1419. /*IF*/if (X662is_current((((T487*)C))->_target/*12*/)) {
  1420. R=X496is_pre_computable((((T487*)C))->_run_feature/*20*/);
  1421. }
  1422. /*FI*/return R;
  1423. }
  1424. void r487cpc_to_runnable(T487* C,T0* a1){
  1425. T0* _rc=NULL;
  1426. T0* _t=NULL;
  1427. _t=X662to_runnable((((T487*)C))->_target/*12*/,a1);
  1428. /*IF*/if ((_t)==((void*)(NULL))) {
  1429. r683add_position(X662start_position((((T487*)C))->_target/*12*/));
  1430. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  1431. r683fatal_error(((T683*)(oBC364eh)),b1);
  1432. }/*]*/
  1433. }
  1434. /*FI*/C->_target=_t;
  1435. _rc=X291run_class(X662result_type((((T487*)C))->_target/*12*/));
  1436. C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
  1437. r576update((((T487*)C))->_target/*12*/,(((T487*)C))->_run_feature/*20*/);
  1438. }
  1439. int r487use_current(T487* C){
  1440. int R=0;
  1441. /*IF*//*AF*//*AE*/
  1442. /*FI*//*IF*/if (R) {
  1443. }
  1444.  else if (X662is_current((((T487*)C))->_target/*12*/)) {
  1445. R=X496use_current((((T487*)C))->_run_feature/*20*/);
  1446. }
  1447. else {
  1448. R=X662use_current((((T487*)C))->_target/*12*/);
  1449. }
  1450. /*FI*/return R;
  1451. }
  1452. void r487finalize(T487* C){
  1453. T0* _rf=NULL;
  1454. T0* _rc=NULL;
  1455. _rf=(((T487*)C))->_run_feature/*20*/;
  1456. _rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/));
  1457. /*IF*/if (!((((T355*)((T355*)_rc)))->_at_run_time/*8*/)) {
  1458. _rf=r355dynamic(((T355*)(r396first(((T396*)((((T355*)((T355*)_rc)))->_running/*12*/))))),_rf);
  1459. C->_run_feature=_rf;
  1460. }
  1461. /*FI*/}
  1462. void r487error(T0* a1,T0* a2){
  1463. r683add_position(a1);
  1464. r683error(((T683*)(oBC364eh)),a2);
  1465. }
  1466. /*No:CALL_0_C.isa_dca_inline_argument*/
  1467. /*No:CALL_0_C.fatal_error*/
  1468. void r487afd_check(T487* C){
  1469. T0* _running=NULL;
  1470. T0* _rc=NULL;
  1471. _rc=X291run_class(X662result_type((((T487*)C))->_target/*12*/));
  1472. _running=(((T355*)((T355*)_rc)))->_running/*12*/;
  1473. /*IF*/if ((_running)==((void*)(NULL))) {
  1474. r683add_position(X662start_position((((T487*)C))->_target/*12*/));
  1475. /*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
  1476. r7append(((T7*)(oBC683explanation)),b1);
  1477. }/*]*/
  1478. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
  1479. r7append(((T7*)(oBC683explanation)),b1);
  1480. }/*]*/
  1481. /*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
  1482. r7append(((T7*)(oBC683explanation)),b1);
  1483. }/*]*/
  1484. r683print_as_warning(((T683*)(oBC364eh)));
  1485. r355set_at_run_time(((T355*)_rc));
  1486. }
  1487.  else if ((r396count(((T396*)_running)))>(0)) {
  1488. r576update((((T487*)C))->_target/*12*/,(((T487*)C))->_run_feature/*20*/);
  1489. }
  1490. /*FI*/X662afd_check((((T487*)C))->_target/*12*/);
  1491. /*IF*//*AF*//*AE*/
  1492. /*FI*/}
  1493. void r583make(T583* C,T0* a1,T0* a2,T0* a3,T0* a4){
  1494. C->_start_position=a1;
  1495. C->_clients=a2;
  1496. C->_comment=a3;
  1497. /*IF*/if ((a4)!=((void*)(NULL))) {
  1498. {T953*n=malloc(sizeof(*n));
  1499. *n=M953;
  1500. r953make(n,a4);
  1501. C->_procedure_list=(T0*)n;
  1502. }
  1503. }
  1504. /*FI*/}
  1505. /*No:CREATION_CLAUSE.start_position*/
  1506. void r583check_expanded_with(T583* C,T0* a1){
  1507. T0* _rc=NULL;
  1508. T0* _rf3=NULL;
  1509. T0* _rf=NULL;
  1510. /*IF*/if (((((T583*)C))->_procedure_list/*12*/)==((void*)(NULL))) {
  1511. r683add_position((((T583*)C))->_start_position/*0*/);
  1512. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms6_583);
  1513. r683fatal_error(((T683*)(oBC364eh)),b1);
  1514. }/*]*/
  1515. }
  1516. /*FI*//*IF*/if ((/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T583*)C))->_procedure_list/*12*/))))->_list/*0*/))))->_upper/*8*//*)*/)>(1)) {
  1517. r683add_type(a1,((T0*)ms65_470));
  1518. r683add_position((((T583*)C))->_start_position/*0*/);
  1519. /*[IRF3.2fatal_error_vtec_2*//*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_364);
  1520. r683fatal_error(((T683*)(oBC364eh)),b1);
  1521. }/*]*/
  1522. /*]*/
  1523. }
  1524. /*FI*/_rc=X291run_class(a1);
  1525. _rf=r355get_feature(((T355*)_rc),/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T583*)C))->_procedure_list/*12*/))))->_list/*0*/)),1)/*)*/);
  1526. /*IF*/if ((_rf)==((void*)(NULL))) {
  1527. r683add_position((((T583*)C))->_start_position/*0*/);
  1528. /*[IRF3.6append*/{T0* b1=((T0*)ms7_583);
  1529. r7append(((T7*)(oBC683explanation)),b1);
  1530. }/*]*/
  1531. r683add_type(a1,((T0*)ms8_583));
  1532. r683print_as_fatal_error(((T683*)(oBC364eh)));
  1533. }
  1534. /*FI*/_rf3=_rf;
  1535. if(NULL!=(_rf3))switch(((T0*)_rf3)->id) {
  1536. case 832: 
  1537. break;
  1538. default:
  1539. _rf3=NULL;
  1540. };/*IF*/if ((_rf3)==((void*)(NULL))) {
  1541. r683add_position((((T583*)C))->_start_position/*0*/);
  1542. r683add_position(X496start_position(_rf));
  1543. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms9_583);
  1544. r683fatal_error(((T683*)(oBC364eh)),b1);
  1545. }/*]*/
  1546. }
  1547. /*FI*//*IF*/if ((r832arg_count(((T832*)_rf3)))>(0)) {
  1548. r683add_type(a1,((T0*)ms65_470));
  1549. r683add_position((((T583*)C))->_start_position/*0*/);
  1550. r683add_position(/*(IRF4.6start_position*/r297start_position(((T297*)((((T832*)((T832*)_rf3)))->_base_feature/*44*/)))/*)*/);
  1551. /*[IRF3.6append*/{T0* b1=((T0*)ms10_583);
  1552. r7append(((T7*)(oBC683explanation)),b1);
  1553. }/*]*/
  1554. /*[IRF3.2fatal_error_vtec_2*//*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_364);
  1555. r683fatal_error(((T683*)(oBC364eh)),b1);
  1556. }/*]*/
  1557. /*]*/
  1558. }
  1559. /*FI*/}
  1560. /*No:CREATION_CLAUSE.comment*/
  1561. int r583has(T583* C,T0* a1){
  1562. int R=0;
  1563. /*IF*/if (((((T583*)C))->_procedure_list/*12*/)!=((void*)(NULL))) {
  1564. R=r953has(((T953*)((((T583*)C))->_procedure_list/*12*/)),a1);
  1565. }
  1566. /*FI*/return R;
  1567. }
  1568. T0* r583expanded_initializer(T583* C,T0* a1){
  1569. T0* R=NULL;
  1570. /*IF*/if (((((T583*)C))->_procedure_list/*12*/)!=((void*)(NULL))) {
  1571. R=r355get_feature(((T355*)(X291run_class(a1))),/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T583*)C))->_procedure_list/*12*/))))->_list/*0*/)),1)/*)*/);
  1572. if(NULL!=(R))switch(((T0*)R)->id) {
  1573. case 832: 
  1574. break;
  1575. default:
  1576. R=NULL;
  1577. };}
  1578. /*FI*/return R;
  1579. }
  1580. /*No:CREATION_CLAUSE.fz_cbe*/
  1581. /*No:CREATION_CLAUSE.clients*/
  1582. /*No:CREATION_CLAUSE.fatal_error_vtec_2*/
  1583. /*No:CREATION_CLAUSE.fatal_error*/
  1584. /*No:CREATION_CLAUSE.procedure_list*/
  1585. void r490make(T490* C,T0* a1,T0* a2){
  1586. C->_to_string=r902item(a1);
  1587. C->_start_position=a2;
  1588. }
  1589. /*No:TAG_NAME.to_string*/
  1590. /*No:TAG_NAME.start_position*/
  1591. /*No:RUN_FEATURE_2.arguments*/
  1592. int r820id(T820* C){
  1593. int R=0;
  1594. R=X291id((((T820*)C))->_current_type/*4*/);
  1595. return R;
  1596. }
  1597. /*No:RUN_FEATURE_2.ucs_true*/
  1598. /*No:RUN_FEATURE_2.c_define*/
  1599. /*No:RUN_FEATURE_2.actuals_clients*/
  1600. void r820nothing_comment(T820* C){
  1601. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms118_470));
  1602. /*]*/
  1603. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms4_496));
  1604. /*]*/
  1605. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291run_time_mark((((T820*)C))->_current_type/*4*/));
  1606. /*]*/
  1607. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1608. char b1='\56';
  1609. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1610. }/*]*/
  1611. /*]*/
  1612. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string((((T820*)C))->_name/*16*/));
  1613. /*]*/
  1614. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms81_470));
  1615. /*]*/
  1616. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1617. char b1='\n';
  1618. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1619. }/*]*/
  1620. /*]*/
  1621. }
  1622. /*No:RUN_FEATURE_2.ucs_in_computation*/
  1623. void r820make(T820* C,T0* a1,T0* a2,T0* a3){
  1624. C->_current_type=a1;
  1625. C->_name=a2;
  1626. C->_base_feature=a3;
  1627. r199put(((T199*)((((T355*)((T355*)(r820run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2));
  1628. r604incr_magic_count(((T604*)(oBC364small_eiffel)));
  1629. C->_use_current_state=1005;
  1630. r604push(((T604*)(oBC364small_eiffel)),(T0*)C);
  1631. r820initialize(C);
  1632. r604pop(((T604*)(oBC364small_eiffel)));
  1633. }
  1634. /*No:RUN_FEATURE_2.name*/
  1635. void r820mapping_name(T820* C){
  1636. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1637. char b1='r';
  1638. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1639. }/*]*/
  1640. /*]*/
  1641. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r820id(C));
  1642. /*]*/
  1643. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_key((((T820*)C))->_name/*16*/));
  1644. /*]*/
  1645. }
  1646. int r820arg_count(T820* C){
  1647. int R=0;
  1648. /*IF*/if (((((T820*)C))->_arguments/*20*/)!=((void*)(NULL))) {
  1649. R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T820*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/;
  1650. }
  1651. /*FI*/return R;
  1652. }
  1653. /*No:RUN_FEATURE_2.local_vars*/
  1654. /*No:RUN_FEATURE_2.fz_open_c_comment*/
  1655. /*No:RUN_FEATURE_2.base_feature*/
  1656. /*No:RUN_FEATURE_2.start_position*/
  1657. /*No:RUN_FEATURE_2.fz_close_c_comment*/
  1658. int r820is_exported_in(T820* C,T0* a1){
  1659. int R=0;
  1660. R=r636gives_permission_to(((T636*)(r820clients(C))),a1);
  1661. return R;
  1662. }
  1663. /*No:RUN_FEATURE_2.compute_use_current*/
  1664. /*No:RUN_FEATURE_2.result_type*/
  1665. /*No:RUN_FEATURE_2.is_static*/
  1666. void r820add_client(T820* C,T0* a1){
  1667. int _i=0;
  1668. /*IF*/if (((((T820*)C))->_actuals_clients/*12*/)==((void*)(NULL))) {
  1669. {T187*n=malloc(sizeof(*n));
  1670. *n=M187;
  1671. r187with_capacity(n,4);
  1672. C->_actuals_clients=(T0*)n;
  1673. }
  1674. r187add_last(((T187*)((((T820*)C))->_actuals_clients/*12*/)),a1);
  1675. }
  1676. else {
  1677. _i=r187fast_index_of(((T187*)((((T820*)C))->_actuals_clients/*12*/)),a1);
  1678. /*IF*/if ((_i)>((((T187*)((T187*)((((T820*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) {
  1679. r187add_last(((T187*)((((T820*)C))->_actuals_clients/*12*/)),a1);
  1680. }
  1681. /*FI*/}
  1682. /*FI*/r355add_client(((T355*)(r820run_class(C))),a1);
  1683. }
  1684. /*No:RUN_FEATURE_2.use_current_state*/
  1685. /*No:RUN_FEATURE_2.can_be_dropped*/
  1686. void r820force_c_recompilation_comment(T820* C){
  1687. T0* _rc=NULL;
  1688. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms118_470));
  1689. /*]*/
  1690. _rc=r820run_class(C);
  1691. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r355offset_of(((T355*)_rc),(T0*)C));
  1692. /*]*/
  1693. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms81_470));
  1694. /*]*/
  1695. }
  1696. /*No:RUN_FEATURE_2.current_type*/
  1697. T0* r820run_class(T820* C){
  1698. T0* R=NULL;
  1699. R=X291run_class((((T820*)C))->_current_type/*4*/);
  1700. return R;
  1701. }
  1702. /*No:RUN_FEATURE_2.static_value_mem*/
  1703. /*No:RUN_FEATURE_2.fz_b5*/
  1704. /*No:RUN_FEATURE_2.ucs_not_computed*/
  1705. void r820fall_down(T820* C){
  1706. T0* _rf=NULL;
  1707. T0* _sub_name=NULL;
  1708. T0* _sub_bc=NULL;
  1709. T0* _current_bc=NULL;
  1710. T0* _sub_rc=NULL;
  1711. T0* _current_rc=NULL;
  1712. int _i=0;
  1713. T0* _running=NULL;
  1714. _current_rc=X291run_class((((T820*)C))->_current_type/*4*/);
  1715. _running=(((T355*)((T355*)_current_rc)))->_running/*12*/;
  1716. /*IF*/if ((_running)!=((void*)(NULL))) {
  1717. _current_bc=X291base_class((((T820*)C))->_current_type/*4*/);
  1718. _i=(((T396*)((T396*)_running)))->_lower/*12*/;
  1719. while (!((_i)>((((T396*)((T396*)_running)))->_upper/*8*/))) {
  1720. _sub_rc=r396item(((T396*)_running),_i);
  1721. /*IF*/if ((_sub_rc)!=((void*)(_current_rc))) {
  1722. _sub_bc=X291base_class((((T355*)((T355*)_sub_rc)))->_current_type/*0*/);
  1723. _sub_name=r605new_name_of(((T605*)_sub_bc),_current_bc,(((T820*)C))->_name/*16*/);
  1724. _rf=r355get_feature(((T355*)_sub_rc),_sub_name);
  1725. }
  1726. /*FI*/_i=(_i)+(1);
  1727. }
  1728. }
  1729. /*FI*/}
  1730. /*No:RUN_FEATURE_2.ucs_false*/
  1731. /*No:RUN_FEATURE_2.is_pre_computable*/
  1732. T0* r820clients(T820* C){
  1733. T0* R=NULL;
  1734. T0* _bfbc=NULL;
  1735. T0* _bc=NULL;
  1736. /*IF*/if (((((T820*)C))->_clients_memory/*8*/)==((void*)(NULL))) {
  1737. _bc=X291base_class((((T820*)C))->_current_type/*4*/);
  1738. _bfbc=(((T106*)((T106*)((((T820*)C))->_base_feature/*32*/))))->_base_class/*4*/;
  1739. /*IF*/if ((_bc)==((void*)(_bfbc))) {
  1740. R=(((T106*)((T106*)((((T820*)C))->_base_feature/*32*/))))->_clients/*20*/;
  1741. }
  1742. else {
  1743. R=r605clients_for(((T605*)_bc),(((T820*)C))->_name/*16*/);
  1744. }
  1745. /*FI*/C->_clients_memory=R;
  1746. }
  1747. else {
  1748. R=(((T820*)C))->_clients_memory/*8*/;
  1749. }
  1750. /*FI*/return R;
  1751. }
  1752. int r820use_current(T820* C){
  1753. int R=0;
  1754. {int z1=(((T820*)C))->_use_current_state/*28*/;
  1755.  
  1756. if((1004==z1)){
  1757. R=1;
  1758. }
  1759.  else 
  1760. if((1003==z1)){
  1761. }
  1762.  else 
  1763. if((1005==z1)){
  1764. C->_use_current_state=1006;
  1765. /*[IRF3.3compute_use_current*/((((T820*)(C)))->_use_current_state)=(1004);
  1766. /*]*/
  1767. R=r820use_current(C);
  1768. }
  1769.  else {R=1;
  1770. }}
  1771. return R;
  1772. }
  1773. void r820mapping_c(T820* C){
  1774. T0* _ct=NULL;
  1775. _ct=(((T820*)C))->_current_type/*4*/;
  1776. /*IF*/if (X291is_basic_eiffel_expanded(_ct)) {
  1777. r324put_target_as_value(((T324*)(oBC364cpp)));
  1778. }
  1779. else {
  1780. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1781. char b1='\50';
  1782. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1783. }/*]*/
  1784. /*]*/
  1785. /*IF*/if (X291is_reference(_ct)) {
  1786. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1787. char b1='\50';
  1788. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1789. }/*]*/
  1790. /*]*/
  1791. X291mapping_cast(_ct);
  1792. r324put_target_as_target(((T324*)(oBC364cpp)));
  1793. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1794. char b1='\51';
  1795. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1796. }/*]*/
  1797. /*]*/
  1798. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms240_470));
  1799. /*]*/
  1800. }
  1801. else {
  1802. r324put_target_as_value(((T324*)(oBC364cpp)));
  1803. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_820));
  1804. /*]*/
  1805. }
  1806. /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string((((T820*)C))->_name/*16*/));
  1807. /*]*/
  1808. r820force_c_recompilation_comment(C);
  1809. }
  1810. /*FI*/}
  1811. void r820address_of(T820* C){
  1812. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms2_820));
  1813. /*]*/
  1814. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string((((T820*)C))->_name/*16*/));
  1815. /*]*/
  1816. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1817. char b1='\51';
  1818. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1819. }/*]*/
  1820. /*]*/
  1821. }
  1822. void r820put_tag(T820* C){
  1823. T0* _fn=NULL;
  1824. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1825. char b1='\42';
  1826. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1827. }/*]*/
  1828. /*]*/
  1829. _fn=/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T106*)((T106*)((((T820*)C))->_base_feature/*32*/))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/;
  1830. X776cpp_put_infix_or_prefix(_fn);
  1831. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string(_fn));
  1832. /*]*/
  1833. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_496));
  1834. /*]*/
  1835. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T451*)((T451*)(/*(IRF4.6base_class_name*/(((T605*)((T605*)((((T106*)((T106*)((((T820*)C))->_base_feature/*32*/))))->_base_class/*4*/))))->_base_class_name/*24*//*)*/))))->_to_string/*0*/);
  1836. /*]*/
  1837. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1838. char b1='\42';
  1839. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1840. }/*]*/
  1841. /*]*/
  1842. }
  1843. /*No:RUN_FEATURE_2.clients_memory*/
  1844. void r820initialize(T820* C){
  1845. C->_result_type=X291to_runnable((((T106*)((T106*)((((T820*)C))->_base_feature/*32*/))))->_result_type/*12*/,(((T820*)C))->_current_type/*4*/);
  1846. }
  1847. void r820afd_check(T820* C){
  1848. T0* _rc=NULL;
  1849. _rc=X291run_class(X291run_type((((T820*)C))->_result_type/*24*/));
  1850. }
  1851.  
  1852.